package com.yuke.cloud.service.wmc.service;

import com.github.pagehelper.PageInfo;
import com.yuke.cloud.common.core.support.IService;
import com.yuke.cloud.service.wmc.dto.*;
import com.yuke.cloud.service.wmc.entity.WmsStockIn;

import java.util.List;
import java.util.concurrent.CompletableFuture;


/**
 * Created by zys on 2018/12/06.
 */
public interface WmsStockInService extends IService<WmsStockIn> {
    List<WmsStockInDto> getWmsStockInByCondition(WmsStockInDto wmsStockInDto);

    CompletableFuture<Integer> insertWmsDto(WmsPurchaseOrderDto wmsPurchaseOrderDto);
    CompletableFuture<Integer> updateWmsStorage(WmsPurchaseOrderDto wmsPurchaseOrderDto);

    List<WmsStockInDto> findGoodsListByPurchase( WmsStockInDto wmsStockInDto);

    List<WmsGoodsSalesDto> findGoodsSales(WmsGoodsSalesDto goodsSalesDto);

    PageInfo<WmsGoodsSalesDto> goodsSales(Integer page, Integer size, WmsGoodsSalesDto goodsSalesDto);

    Integer addOverFlow(WmsPurchaseOrderDto wmsPurchaseOrderDto);

    PageInfo<WmsGoodsSalesDto> goodsSalesJoin(Integer page, Integer size, WmsGoodsSalesDto goodsSalesDto);

    List<WmsGoodsSalesDto> costUnitPriceBylimit(List<Long> ids);

    PageInfo<WmsStockInDto> countBySpec(WmsStockInDto wmsStockInDto,Integer page,Integer size);

    List<WmsStockInDto> findDescPurchasePrice(List<Long> specIds);

    Integer changeCheckIn(WmsStockInDto wmsStockInDto);

}
